home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
福袋
/
注釈付ヘッダ
/
TASK.H
< prev
next >
Wrap
Text File
|
1994-02-20
|
17KB
|
537 lines
/*
* task.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
*/
#ifndef __TASK_H
#define __TASK_H
#ifndef __SXDEF2_H
#include <sxdef2.h>
#endif
#ifdef FORWORD
#define __PROTO_TYPE
#endif
#ifdef __STDC__
#define __PROTO_TYPE
#endif
typedef enum TSEventCode TSEventCode; /* タスクマンイベントコード */
typedef enum TaskState TaskState; /* タスクの状態 */
typedef enum CMDSRscID CMDSRscID; /* CMDSリソースのID */
typedef struct Task Task; /* タスク管理レコード */
typedef struct Builtin Builtin; /* ビルトインコマンド定義レコード */
typedef struct Cell Cell; /* セルレコード */
typedef struct Drag Drag; /* ドラッグレコード */
typedef struct Scrap Scrap; /* スクラップレコード */
typedef struct DrvInfo DrvInfo; /* ドライブ情報レコード */
typedef struct OpenFile OpenFile; /* オープンファイル名管理レコード */
typedef struct IcKind IcKind; /* アイコン定義レコード */
typedef struct IcState IcState; /* アイコン管理レコード */
/*
* タスクマン (Task Man)
*/
#ifndef SXKERNEL
#define SXKERNEL "sxkernel.x" /* SXカーネルのファイル名 */
#endif
#ifndef SXVER2
#define SXVER2 0x0201 /* 動作可能なSXシステムのバージョン */
#endif
#define TS_OWN (-1) /* 自分のタスクID */
#define TS_FINISH 0 /* ドラッグの正常終了 */
#define TS_PUTBACK (-1) /* ラバーバントをはじき返す形で終了 */
enum TSEventCode { /* タスクマンイベントコード */
STARTUP, /* 起動のためのタスク間通信 */
ENDTSK, /* 全タスクの終了 */
CLOSEALL, /* 全ウィンドウのクローズ */
NOTICEEJECT, /* ディスクイジェクトの予告 */
DISKEJECT, /* ディスクのイジェクト */
NOTICEFORMAT, /* ディスクフォーマットの予告 */
DISKFORMAT, /* ディスクのフォーマット */
NOTICEDCOPY, /* ディスクコピーの予告 */
DISKCOPY, /* ディスクのコピー */
DISKINSERT, /* ディスクの挿入または状態の変化 */
REMOVEDIR, /* ディレクトリの削除 */
DELETEFILE, /* ファイルの削除 */
DELETEVONAME, /* ボリューム名の削除 */
MOVEFILE, /* ファイルの移動 */
COPYFILE, /* ファイルの複写 */
MAKEDIR, /* ディレクトリの作成 */
CREATFILE, /* ファイルの作成 */
CREATEVONAME, /* ボリューム名の作成 */
OPENFILE = 20, /* ファイルのオープン */
CLOSEFILE, /* ファイルのクローズ */
CHMODFILE, /* ファイル属性の変更 */
CLOSEPATH = 30, /* 指定したパスのクローズ */
SAVE, /* 現在の状態をセーブ */
WINDOWSELECT, /* ウィンドウのセレクト */
NOTICEENDTSK, /* 全タスク終了の予告 */
TOSCRAP = 50, /* スクラップバッファへのデータ転送 */
EMPTYTRASH, /* クリーナのフラッシュ */
CREATETSK = 70, /* タスクの起動 */
EXITTSK, /* タスクの終了 */
DRAGNOW = 80, /* ドラッグ中 */
DRAGEND, /* ドラッグの終了 */
SETFONT = 85, /* フォントの設定 */
CHANGEFONT, /* フォントファイルの変更 */
CHANGERSC = 90, /* リソースの変更 */
DELETERSC, /* リソースの削除 */
REQLOADRSC = 104, /* リソースのメモリへの読み込み要求 */
RESLOADRSC /* リソースのメモリへの読み込み要求に
対するエラーの返送 */
};
enum TaskState { /* タスクの状態 */
TS_EMPTY, /* 削除されたタスク */
TS_ACTIVE, /* 通常動作中 */
TS_COMMUNICATE, /* タスク間通信中(返事を受ける)*/
TS_SENDMES, /* タスク間通信中(返事を受けない)*/
TS_SLEEP, /* システム予約 */
TS_STARTUP, /* 起動中 */
TS_LOAD, /* ロードしただけ */
TS_EXIT /* コード領域を解放せずに終了 */
};
enum CMDSRscID { /* CMDSリソースのID */
CMDSDIR, /* ディレクトリ表示 */
CMDSCHD, /* ドライブトレイ */
CMDSPINFO, /* プロセス情報 */
CMDSDINFO, /* ドライブ情報 */
CMDSINFO, /* ファイル情報 */
CMDSCLO, /* パスのクローズ */
CMDSREN, /* ファイル名の変更・複製など */
CMDSCLIP, /* クリップボード */
CMDSVDCP, /* ディスクコピー */
CMDSVFOR, /* フォーマット */
CMDSCOPY, /* ファイルのコピー */
CMDSCSHL, /* コマンド入力 */
CMDSHENW, /* リセット時に起動するファイル */
CMDSTITL, /* 終了時に起動するファイル */
CMDSLDLB, /* すべてのリソースのロード */
CMDSADJS, /* デスクトップのスクロール */
CMDSFALL, /* デスクトップの整頓 */
CMDSFILE /* 17 */ /* ファイル検索パスの学習 */
};
/* ファイル属性フラグ */
#define TS_RDONLY 1 /* 読み込み専用 */
#define TS_HIDDEN (1 << 1) /* 隠しファイル */
#define TS_SYSTEM (1 << 2) /* システムファイル */
#define TS_VOLID (1 << 3) /* ボリューム名 */
#define TS_SUBDIR (1 << 4) /* サブディレクトリ */
#define TS_ARCH (1 << 5) /* 通常ファイル */
/* アイテムフラグ */
#define TS_EJECT (1 << 4) /* イジェクトボタン */
#define TS_QUEST (1 << 5) /* クエスチョンマーク */
#define TS_PROTECT (1 << 6) /* プロテクトマーク */
enum TSErrorCode { /* タスクマンのエラーコード */
ER_ABORT = -0x2002, /* ハードウェアエラーによるアボート */
ER_OBJX, /* 単独実行のファイル */
ER_NOTHEAD, /* タスクマン上で動作しないファイル */
ER_NOTOBJECT, /* 実行ファイルではない */
ER_NOTLOAD, /* ファイルオープンエラー */
ER_NOTPARA, /* 同時に複数実行できないファイル */
ER_FILENOTFND = -0x1fe1, /* ファイルが見付からない */
ER_SERCHBREAK, /* ファイル検索が中断された */
ER_SERCHONEDRV, /* 1ドライブ検索した */
ER_DRVNOTREADY, /* ドライブの準備ができていない */
ER_RSCROUTEERR = -0x1fdb /* 無効なリソース系列を指定した */
};
struct Task { /* タスク管理レコード */
char name[TS_NAMEMAX]; /* タスク名 */
LASCII command; /* コマンドライン */
short taskID; /* タスクID */
short parentID; /* 親のタスクID */
short stMode; /* 立ち上げモード */
long rscType; /* リソースタイプ */
short rscID; /* リソースID */
short state; /* 現在の状態 */
void *programPtr; /* プログラムエリアへのポインタ */
Handle programHdl; /* プログラムエリアへのハンドル */
Handle dataHdl; /* データエリアへのハンドル */
char *envPtr; /* 環境へのポインタ */
long regKeep[18]; /* レジスタ待避 */
short commSendID; /* 最後に送信したタスクのID */
short commRecvID; /* 現在受けているタスク間通信の
送信元タスクのID */
long tickCount; /* 起動時のシステム時刻 */
Handle commonHdl; /* コモンエリアへのハンドル */
long rsv1[3]; /* システム予約 */
long refCon; /* ユーザー用ワークエリア */
long rscChain; /* リソース系列 */
short rsv2[16]; /* システム予約 */
};
struct Builtin { /* ビルトインコマンド定義レコード */
short rscID; /* リソースCODEのID */
char length; /* コマンド名の長さ */
char name[_VARLEN]; /* コマンド名(可変長データ) */
};
struct Cell { /* セルレコード */
unsigned long kind; /* セルデータの種類を表現する4文字 */
long size; /* セルデータのサイズ */
unsigned char data[_VARLEN]; /* セルデータ本体(可変長データ)*/
};
struct Drag { /* ドラッグレコード */
long size; /* セルリストのサイズ */
Handle cellList; /* セルリストへのハンドル */
short taskID; /* 送り手のタスクID */
Point origen; /* ローカル座標のオフセット */
BitImg *image; /* イメージデータへのポインタ */
};
struct Scrap { /* スクラップレコード */
long size; /* セルリストのサイズ */
Handle cellList; /* セルリストへのハンドル */
};
struct DrvInfo { /* ドライブ情報レコード */
unsigned char mediaByte; /* メディアバイト */
unsigned char unitno; /* ユニット番号 */
short driveno; /* ドライブ番号 */
};
struct OpenFile { /* オープンファイル名管理レコード */
char name[TS_NAMEMAX]; /* ファイル名 */
short mode; /* アクセスモード */
short ID; /* ファイルハンドル */
};
struct IcKind { /* アイコン定義レコード */
long type; /* アイコンパターンのリソースタイプ */
short ID; /* アイコンパターンのリソースID */
short attrib; /* アイコンの属性(システムが使用)*/
short mLDown; /* 左クリック時の処理
(システムが使用) */
short menuID1; /* 右プレス時のメニューID */
short menuID2; /* [SHIFT]+右プレス時のメニューID */
char nameLen; /* ファイル/シンボル名の長さ */
char name[_VARLEN]; /* ファイル/シンボル名(可変長データ) */
/* char execLen; 実行ファイル名の長さ
char exec[_VARLEN]; 実行ファイル名(可変長データ)*/
/* unsigned char paramLen; パラメータ文字列の長さ
char param[_VARLEN]; パラメータ文字列(可変長データ)*/
};
struct IcState { /* アイコン管理レコード */
Rect bounds; /* 全体を囲むレクタングル */
char name[18 + 3]; /* ファイル/シンボル名 */
unsigned char attrib; /* ファイルの属性 */
long opt1; /* オプション1(システムが使用)*/
long opt2; /* オプション2(システムが使用)*/
unsigned char mediaByte; /* メディアバイト */
unsigned char unitno; /* ユニット番号 */
short iconID; /* リソースICN#のID */
char *path; /* パス名へのポインタ */
unsigned char flag; /* アイテムフラグ */
unsigned char drawMode; /* 表示モード(システムが使用) */
unsigned char rsv[4]; /* システム予約 */
};
#ifdef __PROTO_TYPE
Heap *TSInitTsk(void *, void *, const char *, int, int, int, Handle *);
int TSInitCrtM(void);
int TSTiniCrtM(int);
int TSFock(int, int, char *, const char *, const char *, long, int);
int TSFockB(int, BOOLEAN, const char *, const char *, const char *, char *);
int TSFockSItem(Handle);
int TSFockIcon(IcState *, int, BOOLEAN, char *, char *);
int TSEventAvail(int, TsEvent *);
int TSGetEvent(int, TsEvent *);
int TSPostEventTsk(long, long, int, BOOLEAN, BOOLEAN);
int TSGetTdb(Task *, int);
int TSSetTdb(Task *, int);
LPoint TSGetWindowPos(void);
int TSCommunicate(int, TsEvent *, int);
int TSGetID(void);
int TSMakeEvent(long, long, int, BOOLEAN, BOOLEAN, TsEvent *);
BOOLEAN TSGetStartMode(void);
void TSSetStartMode(int);
int TSOpen(const char *, int);
int TSClose(int);
int TSRmDirH(char **);
int TSCopyH(char **, char **);
int TSMkDirH(char **);
int TSMoveH(char **, char **);
int TSCreate(const char *, int);
int TSDeleteH(char **);
int TSTrash(char **, char **);
int TSFiles(void *, const char *, int);
int TSNFiles(void *, const char *, int);
int TSCopyP(const char *, const char *);
int TSDeleteP(const char *);
int TSRmDirP(const char *);
int TSMkDirP(const char *);
int TSMoveP(const char *, const char *);
int TSChMod(const char *, int);
long TSWhatFile(TsEvent *, const char *);
int TSDeleteVoname(const char *);
int TSCreateVoname(const char *);
long TSSearchFileND(const char *, char *, const char *);
int TSGetOpen(OpenFile ***);
int TSZeroDrag(void);
int TSPutDrag(long, Handle);
int TSGetDrag(Drag **);
int TSBeginDrag(LPoint);
int TSEndDrag(int);
int TSHideDrag(void);
int TSShowDrag(void);
int TSZeroScrap(void);
int TSPutScrap(long, Handle);
long TSGetScrap(Scrap **);
int TSSearchTrashpath(char **);
int TSSearchTrashfile(char **);
int TSEmptyTrash(void);
int TSSearchdpb(int, int);
int TSDrvctrl(int, int);
int TSDrvctrl2(int, int);
int SXCallWindM(Window *, TsEvent *);
int SXCallCtrlM(Window *, TsEvent *, Control **, Control **, Rect *, Control ***);
int SXInvalScBar(Window *);
int SXValidScBar(Window *);
int TSISRecToStr(IcState *, char *);
int TSCreateISFile(char **, IcState *);
BOOLEAN SXFileConnPath(const char *, const char *);
int SXFileInPath(const char *, const char *);
int SXFnamecmp(const char *, int, const char *, int);
long SXSearchFname(const char *, char **);
int SXVer(void);
int TSTakeParam(const _LASCII, Rect *, char *, int, char **, char **);
long TSFindTskn(const char *, int);
int TSDriveCheckAll(BOOLEAN);
int TSDriveCheck(int);
int TSISRecToExec(IcState *, char *, _LASCII);
BOOLEAN TSGetDtopMode(void);
void TSSetDtopMode(BOOLEAN);
int TSSearchOpen(char **, int, int, OpenFile **);
long TSFindOwn(void);
int TSCommunicateS(int, TsEvent *, int);
long TSSearchFile2(int, int, void *, const char *, char *, const char *);
long TSSearchFile(const char *, char *, const char *);
int SXStrCmp(const char *, const char *, int);
int TSCreateISBadge(IcState *, int, int);
int TSGetCMDS(int, char *);
int TSFockCM(int, BOOLEAN, int, const char *, const char *, char *);
int TSTiniTsk(void);
int TSPostEventTsk2(long, long, int, BOOLEAN, BOOLEAN, int);
int TSAnswer(TsEvent *);
int TSSendMes(int, TsEvent *);
BOOLEAN TSGetMes(TsEvent *, BOOLEAN);
Heap *TSInitTsk2(void *, void *, const char *, int, BOOLEAN, int, char *, Handle *);
int SXCallWindM2(Window *, TsEvent *, Rect *);
int TSBeginDrag2(LPoint, void *, long);
void *SXGetVector(int);
void *SXSetVector(int, void *);
long TSCellToStr(Handle, char *, long, char ***);
void SXLockFSX(void);
void SXUnlockFSX(void);
int TSFockMode(const char *, char *, long *);
int TSSetGraphMode(BOOLEAN, int);
long TSGetGraphMode(long *);
int SXGetDispRect(Rect *);
int SXSRAMVer(void);
void SXSRAMReset(void);
int SXSRAMCheck(void);
void TSAdjustRect(Rect *, Rect *, int);
int TSPostEventTsk3(long, long, int, int, int, int, long, long);
int TSAnswer2(long, long, int, int, int, int, long, long);
int TSErrDialogN(int, const char *);
long TSSearchFile3(int, int, const char *, char *, const char *, int (*)(const char *, long));
Handle TSResNew(void);
Handle TSResOpen(const char *);
int TSResClose(const char *);
int TSResSave(const char *);
int TSResRemove(void);
int TSResLoad(void);
int TSResDispose(void);
Handle TSCurResGet(void);
Handle TSLastResGet(void);
Handle TSCurResSet(Handle);
_Handle TSRscAdd(long, int, _Handle, long);
_Handle TSRscGet(long, int);
int TSRscRemove(long, int);
int TSTypeRemove(long);
int TSRscRelease(_Handle);
int TSRscDetach(_Handle);
int TSMaxIDGet(long);
Handle TSHdlToRsc(_Handle);
Handle TSResLinkGet(Handle);
long TSResRouteLink(int, long);
long TSResRouteGet(int);
_Handle TSRscGet2(long, int, long);
_Handle TSRscGet3(long, int);
int TSResRouteUnLink(void);
int TSMaxIDGet2(long, long);
Handle TSFind(_Handle, long *, long *);
Handle TSCurResGet2(long);
int TSMaxIDGet3(long);
int TSResFileGet(Handle, char *);
long TSResRouteFind(const char *, int, long);
int TSResTypeList(int *, long ***, Handle);
int TSResIDList(int *, short ***, Handle, long);
void (*TSSetAbort(void (*)(), long))();
Window *TSReferWM(int, Window *, Window *);
Control **TSReferCM(int, Window *);
Menu **TSReferMN(int);
Dialog *TSReferDM(int, Dialog *, Window *);
#undef __PROTO_TYPE
#else
Heap *TSInitTsk();
int TSInitCrtM();
int TSTiniCrtM();
int TSFock();
int TSFockB();
int TSFockSItem();
int TSFockIcon();
int TSEventAvail();
int TSGetEvent();
int TSPostEventTsk();
int TSGetTdb();
int TSSetTdb();
LPoint TSGetWindowPos();
int TSCommunicate();
int TSGetID();
int TSMakeEvent();
BOOLEAN TSGetStartMode();
void TSSetStartMode();
int TSOpen();
int TSClose();
int TSRmDirH();
int TSCopyH();
int TSMkDirH();
int TSMoveH();
int TSCreate();
int TSDeleteH();
int TSTrash();
int TSFiles();
int TSNFiles();
int TSCopyP());
int TSDeleteP());
int TSRmDirP();
int TSMkDirP();
int TSMoveP();
int TSChMod();
long TSWhatFile();
int TSDeleteVoname();
int TSCreateVoname();
long TSSearchFileND();
int TSGetOpen();
int TSZeroDrag();
int TSPutDrag();
int TSGetDrag());
int TSBeginDrag();
int TSEndDrag();
int TSHideDrag();
int TSShowDrag();
int TSZeroScrap();
int TSPutScrap();
long TSGetScrap();
int TSSearchTrashpath();
int TSSearchTrashfile();
int TSEmptyTrash();
int TSSearchdpb();
int TSDrvctrl();
int TSDrvctrl2();
int SXCallWindM();
int SXCallCtrlM();
int SXInvalScBar();
int SXValidScBar();
int TSISRecToStr();
int TSCreateISFile();
BOOLEAN SXFileConnPath();
int SXFileInPath();
int SXFnamecmp();
long SXSearchFname());
int SXVer();
int TSTakeParam();
long TSFindTskn();
int TSDriveCheckAll();
int TSDriveCheck();
int TSISRecToExec();
BOOLEAN TSGetDtopMode();
void TSSetDtopMode();
int TSSearchOpen();
long TSFindOwn();
int TSCommunicateS();
long TSSearchFile2();
long TSSearchFile();
int SXStrCmp();
int TSCreateISBadge();
int TSGetCMDS();
int TSFockCM();
int TSTiniTsk();
int TSPostEventTsk2();
int TSAnswer();
int TSSendMes();
BOOLEAN TSGetMes();
Heap *TSInitTsk2();
int SXCallWindM2();
int TSBeginDrag2();
void *SXGetVector();
void *SXSetVector();
long TSCellToStr();
void SXLockFSX();
void SXUnlockFSX();
int TSFockMode();
int TSSetGraphMode();
long TSGetGraphMode();
int SXGetDispRect();
int SXSRAMVer();
void SXSRAMReset();
int SXSRAMCheck();
void TSAdjustRect();
int TSPostEventTsk3();
int TSAnswer2();
int TSErrDialogN();
long TSSearchFile3();
Handle TSResNew();
Handle TSResOpen();
int TSResClose();
int TSResSave();
int TSResRemove();
int TSResLoad();
int TSResDispose();
Handle TSCurResGet();
Handle TSLastResGet();
Handle TSCurResSet();
_Handle TSRscAdd();
_Handle TSRscGet();
int TSRscRemove();
int TSTypeRemove();
int TSRscRelease();
int TSRscDetach();
int TSMaxIDGet();
Handle TSHdlToRsc();
Handle TSResLinkGet();
long TSResRouteLink();
long TSResRouteGet();
_Handle TSRscGet2());
_Handle TSRscGet3();
int TSResRouteUnLink();
int TSMaxIDGet2();
Handle TSFind();
Handle TSCurResGet2();
int TSMaxIDGet3();
int TSResFileGet();
long TSResRouteFind();
int TSResTypeList();
int TSResIDList();
void (*TSSetAbort())();
Window *TSReferWM();
Control **TSReferCM();
Menu **TSReferMN();
Dialog *TSReferDM();
#endif __PROTO_TYPE
#endif __TASK_H